package review.array;

public class SelectionSort {
    public static void selectionSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i; // 假设当前元素为最小元素
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < arr[minIndex]) {
                    minIndex = j; // 找到更小的元素，更新最小元素索引
                }
            }
            // 将找到的最小元素与当前元素交换
            int temp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = temp;
        }
    }

    // 打印数组
    public static void printArray(int[] arr) {
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();
    }

    // 测试示例
    public static void main(String[] args) {
        int[] arr = {64, 25, 12, 22, 11};
        System.out.println("原始数组:");
        printArray(arr);

        selectionSort(arr);

        System.out.println("排序后数组:");
        printArray(arr);
    }
}
